from pyspark import SparkConf, SparkContext

if __name__ == '__main__':
    # 构建SparkConf对象
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    # 构建SparkContext执行环境入口对象
    sc = SparkContext(conf=conf)

    rdd = sc.parallelize([("a", 1), ("a", 2), ("b", 3), ("b", 10)])

    rdd = rdd.groupBy(lambda x: x[0])
    """
    groupBy跟SQL中的groupBy一样，根据某个字段分组（hash）
    f: (T) -> K
    接收一个参数：任意类型
    返回一个参数：任意类型
    """

    rdd = rdd.map(lambda t: (t[0], list(t[1])))

    print(rdd.collect())
